package com.foundationmade.newbiz.business.founder.domain;

// Generated 2013. 10. 22 ���� 2:45:08 by Hibernate Tools 4.0.0

import static javax.persistence.GenerationType.IDENTITY;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.codehaus.jackson.annotate.JsonIgnore;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;


/**
 * Founder generated by hbm2java
 */
@Entity
@Table(name = "founder", catalog = "newbiz")
@DynamicInsert
@DynamicUpdate
public class Founder implements java.io.Serializable
{

	private long founderId;
	private String founderName;
	private Long inChargeId;
	private String purposeFeature;
	private Date receiptionTimestamp;
	private String cellNumber;
	private String phoneNumber;
	private Integer region;
	private Integer age;
	private Integer gender;
	private String occupation;
	private String decisionMaker;
	private String orderDetails;
	private Integer inflowRoute;
	private Integer categoryPreference;
	private Long grossCapital;
	private Long expectedEarning;
	private Integer regionPreference;
	private String operationMethod;
	private String foundingExperience;
	private String foundingTime;
	private String inflowKeyword;
	private String founderStatus;
	private String ongoingFoundation1;
	private String ongoingFoundation2;
	private String ongoingFoundation3;
	private String meetingHistory1;
	private String meetingHistory2;
	private String meetingHistory3;
	private String referenceDetails;
	private Date generatedTimestamp;
	private Long generatorId;
	private Date updatedTimestamp;
	private Long updatorId;
	private Set<FounderHistory> founderHistories = new HashSet<FounderHistory>(
			0);

	public Founder()
	{
	}

	public Founder(long founderId, String founderName)
	{
		this.founderId = founderId;
		this.founderName = founderName;
	}

	public Founder(long founderId, String founderName, String purposeFeature,
			Date receiptionTimestamp, String cellNumber, String phoneNumber,
			Integer region, Integer age, Integer gender, String occupation,
			String decisionMaker, String orderDetails, Integer inflowRoute,
			Integer categoryPreference, Long grossCapital,
			Long expectedEarning, Integer regionPreference,
			String operationMethod, String foundingExperience,
			String foundingTime, String inflowKeyword, String founderStatus,
			String ongoingFoundation1, String ongoingFoundation2,
			String ongoingFoundation3, String meetingHistory1,
			String meetingHistory2, String meetingHistory3,
			String referenceDetails, Date generatedTimestamp, Long generatorId,
			Date updatedTimestamp, Long updatorId,
			Set<FounderHistory> founderHistories)
	{
		this.founderId = founderId;
		this.founderName = founderName;
		this.purposeFeature = purposeFeature;
		this.receiptionTimestamp = receiptionTimestamp;
		this.cellNumber = cellNumber;
		this.phoneNumber = phoneNumber;
		this.region = region;
		this.age = age;
		this.gender = gender;
		this.occupation = occupation;
		this.decisionMaker = decisionMaker;
		this.orderDetails = orderDetails;
		this.inflowRoute = inflowRoute;
		this.categoryPreference = categoryPreference;
		this.grossCapital = grossCapital;
		this.expectedEarning = expectedEarning;
		this.regionPreference = regionPreference;
		this.operationMethod = operationMethod;
		this.foundingExperience = foundingExperience;
		this.foundingTime = foundingTime;
		this.inflowKeyword = inflowKeyword;
		this.founderStatus = founderStatus;
		this.ongoingFoundation1 = ongoingFoundation1;
		this.ongoingFoundation2 = ongoingFoundation2;
		this.ongoingFoundation3 = ongoingFoundation3;
		this.meetingHistory1 = meetingHistory1;
		this.meetingHistory2 = meetingHistory2;
		this.meetingHistory3 = meetingHistory3;
		this.referenceDetails = referenceDetails;
		this.generatedTimestamp = generatedTimestamp;
		this.generatorId = generatorId;
		this.updatedTimestamp = updatedTimestamp;
		this.updatorId = updatorId;
		this.founderHistories = founderHistories;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "FounderId", unique = true, nullable = false)
	public Long getFounderId()
	{
		return this.founderId;
	}

	public void setFounderId(long founderId)
	{
		this.founderId = founderId;
	}

	@Column(name = "FounderName", nullable = false, length = 30)
	public String getFounderName()
	{
		return this.founderName;
	}

	public void setFounderName(String founderName)
	{
		this.founderName = founderName;
	}
	
	@Column(name = "inChargeId", nullable = false)
	public Long getInChargeId()
	{
		return inChargeId;
	}

	public void setInChargeId(Long inChargeId)
	{
		this.inChargeId = inChargeId;
	}

	@Column(name = "PurposeFeature", length = 1000)
	public String getPurposeFeature()
	{
		return this.purposeFeature;
	}

	public void setPurposeFeature(String purposeFeature)
	{
		this.purposeFeature = purposeFeature;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "ReceiptionTimestamp", length = 19)
	public Date getReceiptionTimestamp()
	{
		return this.receiptionTimestamp;
	}

	public void setReceiptionTimestamp(Date receiptionTimestamp)
	{
		this.receiptionTimestamp = receiptionTimestamp;
	}

	@Column(name = "CellNumber", length = 13)
	public String getCellNumber()
	{
		return this.cellNumber;
	}

	public void setCellNumber(String cellNumber)
	{
		this.cellNumber = cellNumber;
	}

	@Column(name = "PhoneNumber", length = 13)
	public String getPhoneNumber()
	{
		return this.phoneNumber;
	}

	public void setPhoneNumber(String phoneNumber)
	{
		this.phoneNumber = phoneNumber;
	}

	@Column(name = "Region")
	public Integer getRegion()
	{
		return this.region;
	}

	public void setRegion(Integer region)
	{
		this.region = region;
	}

	@Column(name = "Age")
	public Integer getAge()
	{
		return this.age;
	}

	public void setAge(Integer age)
	{
		this.age = age;
	}

	@Column(name = "Gender")
	public Integer getGender()
	{
		return this.gender;
	}

	public void setGender(Integer gender)
	{
		this.gender = gender;
	}

	@Column(name = "Occupation", length = 50)
	public String getOccupation()
	{
		return this.occupation;
	}

	public void setOccupation(String occupation)
	{
		this.occupation = occupation;
	}

	@Column(name = "DecisionMaker", length = 20)
	public String getDecisionMaker()
	{
		return this.decisionMaker;
	}

	public void setDecisionMaker(String decisionMaker)
	{
		this.decisionMaker = decisionMaker;
	}

	@Column(name = "OrderDetails", length = 65535)
	public String getOrderDetails()
	{
		return this.orderDetails;
	}

	public void setOrderDetails(String orderDetails)
	{
		this.orderDetails = orderDetails;
	}

	@Column(name = "InflowRoute")
	public Integer getInflowRoute()
	{
		return this.inflowRoute;
	}

	public void setInflowRoute(Integer inflowRoute)
	{
		this.inflowRoute = inflowRoute;
	}

	@Column(name = "CategoryPreference")
	public Integer getCategoryPreference()
	{
		return this.categoryPreference;
	}

	public void setCategoryPreference(Integer categoryPreference)
	{
		this.categoryPreference = categoryPreference;
	}

	@Column(name = "GrossCapital")
	public Long getGrossCapital()
	{
		return this.grossCapital;
	}

	public void setGrossCapital(Long grossCapital)
	{
		this.grossCapital = grossCapital;
	}

	@Column(name = "ExpectedEarning")
	public Long getExpectedEarning()
	{
		return this.expectedEarning;
	}

	public void setExpectedEarning(Long expectedEarning)
	{
		this.expectedEarning = expectedEarning;
	}

	@Column(name = "RegionPreference")
	public Integer getRegionPreference()
	{
		return this.regionPreference;
	}

	public void setRegionPreference(Integer regionPreference)
	{
		this.regionPreference = regionPreference;
	}

	@Column(name = "OperationMethod", length = 100)
	public String getOperationMethod()
	{
		return this.operationMethod;
	}

	public void setOperationMethod(String operationMethod)
	{
		this.operationMethod = operationMethod;
	}

	@Column(name = "FoundingExperience", length = 100)
	public String getFoundingExperience()
	{
		return this.foundingExperience;
	}

	public void setFoundingExperience(String foundingExperience)
	{
		this.foundingExperience = foundingExperience;
	}

	@Column(name = "FoundingTime", length = 50)
	public String getFoundingTime()
	{
		return this.foundingTime;
	}

	public void setFoundingTime(String foundingTime)
	{
		this.foundingTime = foundingTime;
	}

	@Column(name = "InflowKeyword", length = 65535)
	public String getInflowKeyword()
	{
		return this.inflowKeyword;
	}

	public void setInflowKeyword(String inflowKeyword)
	{
		this.inflowKeyword = inflowKeyword;
	}

	@Column(name = "FounderStatus", length = 50)
	public String getFounderStatus()
	{
		return this.founderStatus;
	}

	public void setFounderStatus(String founderStatus)
	{
		this.founderStatus = founderStatus;
	}

	@Column(name = "OngoingFoundation1", length = 100)
	public String getOngoingFoundation1()
	{
		return this.ongoingFoundation1;
	}

	public void setOngoingFoundation1(String ongoingFoundation1)
	{
		this.ongoingFoundation1 = ongoingFoundation1;
	}

	@Column(name = "OngoingFoundation2", length = 100)
	public String getOngoingFoundation2()
	{
		return this.ongoingFoundation2;
	}

	public void setOngoingFoundation2(String ongoingFoundation2)
	{
		this.ongoingFoundation2 = ongoingFoundation2;
	}

	@Column(name = "OngoingFoundation3", length = 100)
	public String getOngoingFoundation3()
	{
		return this.ongoingFoundation3;
	}

	public void setOngoingFoundation3(String ongoingFoundation3)
	{
		this.ongoingFoundation3 = ongoingFoundation3;
	}

	@Column(name = "MeetingHistory1", length = 100)
	public String getMeetingHistory1()
	{
		return this.meetingHistory1;
	}

	public void setMeetingHistory1(String meetingHistory1)
	{
		this.meetingHistory1 = meetingHistory1;
	}

	@Column(name = "MeetingHistory2", length = 100)
	public String getMeetingHistory2()
	{
		return this.meetingHistory2;
	}

	public void setMeetingHistory2(String meetingHistory2)
	{
		this.meetingHistory2 = meetingHistory2;
	}

	@Column(name = "MeetingHistory3", length = 100)
	public String getMeetingHistory3()
	{
		return this.meetingHistory3;
	}

	public void setMeetingHistory3(String meetingHistory3)
	{
		this.meetingHistory3 = meetingHistory3;
	}

	@Column(name = "ReferenceDetails", length = 65535)
	public String getReferenceDetails()
	{
		return this.referenceDetails;
	}

	public void setReferenceDetails(String referenceDetails)
	{
		this.referenceDetails = referenceDetails;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "GeneratedTimestamp", nullable = false, length = 19)
	public Date getGeneratedTimestamp()
	{
		return this.generatedTimestamp;
	}

	public void setGeneratedTimestamp(Date generatedTimestamp)
	{
		this.generatedTimestamp = generatedTimestamp;
	}

	@Column(name = "GeneratorId", nullable = false)
	public Long getGeneratorId()
	{
		return this.generatorId;
	}

	public void setGeneratorId(Long generatorId)
	{
		this.generatorId = generatorId;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "UpdatedTimestamp", length = 19)
	public Date getUpdatedTimestamp()
	{
		return this.updatedTimestamp;
	}

	public void setUpdatedTimestamp(Date updatedTimestamp)
	{
		this.updatedTimestamp = updatedTimestamp;
	}

	@Column(name = "UpdatorId")
	public Long getUpdatorId()
	{
		return this.updatorId;
	}

	public void setUpdatorId(Long updatorId)
	{
		this.updatorId = updatorId;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "founder")
	@JsonIgnore
	public Set<FounderHistory> getFounderHistories()
	{
		return this.founderHistories;
	}

	public void setFounderHistories(Set<FounderHistory> founderHistories)
	{
		this.founderHistories = founderHistories;
	}
}
